package com.kk.xhr.admin.biz;

import com.kk.xhr.admin.controller.request.UserAddRequest;
import com.kk.xhr.admin.controller.request.UserModifyRequest;
import com.kk.xhr.admin.controller.request.UserQueryRequest;
import com.kk.xhr.admin.controller.vo.UserInfoVO;
import com.kk.xhr.admin.controller.vo.UserVO;
import com.kk.xhr.common.pojo.UserStatusEnum;
import com.kk.xhr.web.vo.PageVO;

import java.util.List;

/**
 * 用户biz服务接口
 *
 * @author kkmystery
 * @version 1.0 2021/3/11
 * @since 1.0.0
 */
public interface IUserBizService {

    /**
     * 查询用户信息
     *
     * @param userId 用户id
     * @return UserVO
     */
    UserVO getUserInfo(Long userId);

    /**
     * 分页查询
     *
     * @param request UserQueryRequest
     * @return UserVO
     */
    PageVO<UserVO> queryPage(UserQueryRequest request);

    boolean add(UserAddRequest request);

    boolean modify(Long id, UserModifyRequest request);

    boolean modifyStatus(Long id, UserStatusEnum status);

    List<UserInfoVO> query();

    /**
     * 修改个人信息
     *
     * @param userId  用户id
     * @param request 修改请求
     */
    void modifyMine(Long userId, UserModifyRequest request);

    String modifyAvatar(Long userId, String fileId);
}
